﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum ВидыДоговоровСФизЛицами
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"251ff74e-388d-478d-bbe6-13b72f303d02\", \"Представление\":\"ТрудовойДоговор\"}")]
		ТрудовойДоговор = 0,//Трудовой договор
		[EnumMember(Value = "{\"Ссылка\":\"29f5f7fa-d076-42b9-80e5-0e6945fa2b3d\", \"Представление\":\"Подряда\"}")]
		Подряда = 1,//Договор подряда (выполнение работ, оказание услуг)
		[EnumMember(Value = "{\"Ссылка\":\"b24998a9-24c6-48dd-848b-edad4632e157\", \"Представление\":\"Авторский\"}")]
		Авторский = 2,//Авторский договор
		[EnumMember(Value = "{\"Ссылка\":\"e3b4d67c-690f-4fc6-9bb1-1e3c87633128\", \"Представление\":\"УдалитьЛицензионный\"}")]
		УдалитьЛицензионный = 3,//Удалить лицензионный
		[EnumMember(Value = "{\"Ссылка\":\"b898cd9a-84e7-4033-bb89-3fe1860b7dac\", \"Представление\":\"ДоговорУправленческий\"}")]
		ДоговорУправленческий = 4,//Без договора
	}
	public static partial class ВидыДоговоровСФизЛицами_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ТрудовойДоговор = new Guid("b713e6bb-302f-023d-478d-388d251ff74e");//Трудовой договор
		public static readonly Guid Подряда = new Guid("690ee580-fa45-3d2b-42b9-d07629f5f7fa");//Договор подряда (выполнение работ, оказание услуг)
		public static readonly Guid Авторский = new Guid("aded8b84-3246-57e1-48dd-24c6b24998a9");//Авторский договор
		public static readonly Guid УдалитьЛицензионный = new Guid("3c1eb19b-6387-2831-4fc6-690fe3b4d67c");//Удалить лицензионный
		public static readonly Guid ДоговорУправленческий = new Guid("e13f89bb-0b86-ac7d-4033-84e7b898cd9a");//Без договора
		public static ВидыДоговоровСФизЛицами Получить(this ВидыДоговоровСФизЛицами Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыДоговоровСФизЛицами Получить(this ВидыДоговоровСФизЛицами Значение, Guid Ссылка)
		{
			if(Ссылка == ТрудовойДоговор)
			{
				return ВидыДоговоровСФизЛицами.ТрудовойДоговор;
			}
			else if(Ссылка == Подряда)
			{
				return ВидыДоговоровСФизЛицами.Подряда;
			}
			else if(Ссылка == Авторский)
			{
				return ВидыДоговоровСФизЛицами.Авторский;
			}
			else if(Ссылка == УдалитьЛицензионный)
			{
				return ВидыДоговоровСФизЛицами.УдалитьЛицензионный;
			}
			else if(Ссылка == ДоговорУправленческий)
			{
				return ВидыДоговоровСФизЛицами.ДоговорУправленческий;
			}
			return ВидыДоговоровСФизЛицами.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыДоговоровСФизЛицами Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыДоговоровСФизЛицами Значение)
		{
			switch (Значение)
			{
				case ВидыДоговоровСФизЛицами.ТрудовойДоговор: return ТрудовойДоговор;
				case ВидыДоговоровСФизЛицами.Подряда: return Подряда;
				case ВидыДоговоровСФизЛицами.Авторский: return Авторский;
				case ВидыДоговоровСФизЛицами.УдалитьЛицензионный: return УдалитьЛицензионный;
				case ВидыДоговоровСФизЛицами.ДоговорУправленческий: return ДоговорУправленческий;
			}
			return Guid.Empty;
		}
	}
}